/**
 * 
 */
package FunkcjePrzynaleznosci;

public class TrapezoidalnaFunkcjaPrzynaleznosci implements
		IFunkcjaPrzynaleznosci {

	
	private float a;

	private float b;

	private float c;

	private float d;

	public TrapezoidalnaFunkcjaPrzynaleznosci(float a, float b, float c,
			float d) {
		super();
		this.a = a;
		this.b = b;
		this.c = c;
		this.d = d;
	}


	@Override
	public float getKoniecZakresu() {
		return this.d;
	}


	@Override
	public float getPoczatekZakresu() {
		return this.a;
	}


	@Override
	public float getSrodek() {
		return (this.c - this.b)/2.0f + this.b;
	}


	@Override
	public String getTyp() {
		return IFunkcjaPrzynaleznosci.TRAPEZOIDALNA;
	}


	@Override
	public float getWartosc(float x) {
		if (a <= x && x <= b)
			if (b - a > 0) {
				return (x - a) / (b - a);
			} else
				return 1.0f;
		else if (c < x && x <= d)
			if (c - d > 0) {
				return (x - d) / (c - d);
			} else
				return 1.0f;
		else if (b < x && x <= c)
			return 1.0f;
		else
			return 0.0f;
	}
	
	@Override
	public boolean czyOstra(){
		return false;
	}

}
